package com.company;

import java.util.Arrays;

public class A_10SelectSort {
    public static void main(String[] args) {
        /*选择排序  不稳定的排序

            遍历每个数  并且和其他向后的数比较  小于自身的就交换位置  这个叫冒泡排序
            如果有N个元素需要排序，那么首先从N个元素中找到最小的那个元素与第0位置上的元素交换




        * */
        int[] nums = {2,1,4,5,2,5,7,8,9,6,2,43};

        // 找到每轮的一个最小的数  每次遍历
//        从第一个数开始遍历
        int len = nums.length;
        for ( int i = 0 ; i < len -1  ; i++){
//             开始循环比较  从第自己的下一个数开始
            int minIndex = i;
            for (int j = i+1 ; j < len;j++){
                if (nums[j]  < nums[minIndex] )
                    minIndex = j; // 找到最小的数  记录索引

            }
            if (i == minIndex)   // 这种方法交换不能位置相同
                continue;
            else {  //  交换两个数
                nums[i] += nums[minIndex];
                nums[minIndex] = nums[i] - nums[minIndex];
                nums[i] -= nums[minIndex];
            }



        }
        System.out.println(Arrays.toString(nums));



    }




}
